↳ Prolog
↳ PrologToPiTRSProof
p_in(cons(0, Xs)) → U4(Xs, p_in(Xs))
p_in(cons(s(s(X)), cons(Y, Xs))) → U1(X, Y, Xs, p_in(cons(X, cons(Y, Xs))))
p_in(cons(X, nil)) → p_out(cons(X, nil))
U1(X, Y, Xs, p_out(cons(X, cons(Y, Xs)))) → U2(X, Y, Xs, mult_in(X, Y, Z))
mult_in(X, s(Y), Z) → U6(X, Y, Z, mult_in(X, Y, W))
mult_in(X, 0, 0) → mult_out(X, 0, 0)
U6(X, Y, Z, mult_out(X, Y, W)) → U7(X, Y, Z, sum_in(W, X, Z))
sum_in(X, s(Y), s(Z)) → U5(X, Y, Z, sum_in(X, Y, Z))
sum_in(X, 0, X) → sum_out(X, 0, X)
U5(X, Y, Z, sum_out(X, Y, Z)) → sum_out(X, s(Y), s(Z))
U7(X, Y, Z, sum_out(W, X, Z)) → mult_out(X, s(Y), Z)
U2(X, Y, Xs, mult_out(X, Y, Z)) → U3(X, Y, Xs, p_in(cons(Z, Xs)))
U3(X, Y, Xs, p_out(cons(Z, Xs))) → p_out(cons(s(s(X)), cons(Y, Xs)))
U4(Xs, p_out(Xs)) → p_out(cons(0, Xs))
Infinitary Constructor Rewriting Termination of PiTRS implies Termination of Prolog
↳ Prolog
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
p_in(cons(0, Xs)) → U4(Xs, p_in(Xs))
p_in(cons(s(s(X)), cons(Y, Xs))) → U1(X, Y, Xs, p_in(cons(X, cons(Y, Xs))))
p_in(cons(X, nil)) → p_out(cons(X, nil))
U1(X, Y, Xs, p_out(cons(X, cons(Y, Xs)))) → U2(X, Y, Xs, mult_in(X, Y, Z))
mult_in(X, s(Y), Z) → U6(X, Y, Z, mult_in(X, Y, W))
mult_in(X, 0, 0) → mult_out(X, 0, 0)
U6(X, Y, Z, mult_out(X, Y, W)) → U7(X, Y, Z, sum_in(W, X, Z))
sum_in(X, s(Y), s(Z)) → U5(X, Y, Z, sum_in(X, Y, Z))
sum_in(X, 0, X) → sum_out(X, 0, X)
U5(X, Y, Z, sum_out(X, Y, Z)) → sum_out(X, s(Y), s(Z))
U7(X, Y, Z, sum_out(W, X, Z)) → mult_out(X, s(Y), Z)
U2(X, Y, Xs, mult_out(X, Y, Z)) → U3(X, Y, Xs, p_in(cons(Z, Xs)))
U3(X, Y, Xs, p_out(cons(Z, Xs))) → p_out(cons(s(s(X)), cons(Y, Xs)))
U4(Xs, p_out(Xs)) → p_out(cons(0, Xs))
P_IN(cons(0, Xs)) → U41(Xs, p_in(Xs))
P_IN(cons(0, Xs)) → P_IN(Xs)
P_IN(cons(s(s(X)), cons(Y, Xs))) → U11(X, Y, Xs, p_in(cons(X, cons(Y, Xs))))
P_IN(cons(s(s(X)), cons(Y, Xs))) → P_IN(cons(X, cons(Y, Xs)))
U11(X, Y, Xs, p_out(cons(X, cons(Y, Xs)))) → U21(X, Y, Xs, mult_in(X, Y, Z))
U11(X, Y, Xs, p_out(cons(X, cons(Y, Xs)))) → MULT_IN(X, Y, Z)
MULT_IN(X, s(Y), Z) → U61(X, Y, Z, mult_in(X, Y, W))
MULT_IN(X, s(Y), Z) → MULT_IN(X, Y, W)
U61(X, Y, Z, mult_out(X, Y, W)) → U71(X, Y, Z, sum_in(W, X, Z))
U61(X, Y, Z, mult_out(X, Y, W)) → SUM_IN(W, X, Z)
SUM_IN(X, s(Y), s(Z)) → U51(X, Y, Z, sum_in(X, Y, Z))
SUM_IN(X, s(Y), s(Z)) → SUM_IN(X, Y, Z)
U21(X, Y, Xs, mult_out(X, Y, Z)) → U31(X, Y, Xs, p_in(cons(Z, Xs)))
U21(X, Y, Xs, mult_out(X, Y, Z)) → P_IN(cons(Z, Xs))
p_in(cons(0, Xs)) → U4(Xs, p_in(Xs))
p_in(cons(s(s(X)), cons(Y, Xs))) → U1(X, Y, Xs, p_in(cons(X, cons(Y, Xs))))
p_in(cons(X, nil)) → p_out(cons(X, nil))
U1(X, Y, Xs, p_out(cons(X, cons(Y, Xs)))) → U2(X, Y, Xs, mult_in(X, Y, Z))
mult_in(X, s(Y), Z) → U6(X, Y, Z, mult_in(X, Y, W))
mult_in(X, 0, 0) → mult_out(X, 0, 0)
U6(X, Y, Z, mult_out(X, Y, W)) → U7(X, Y, Z, sum_in(W, X, Z))
sum_in(X, s(Y), s(Z)) → U5(X, Y, Z, sum_in(X, Y, Z))
sum_in(X, 0, X) → sum_out(X, 0, X)
U5(X, Y, Z, sum_out(X, Y, Z)) → sum_out(X, s(Y), s(Z))
U7(X, Y, Z, sum_out(W, X, Z)) → mult_out(X, s(Y), Z)
U2(X, Y, Xs, mult_out(X, Y, Z)) → U3(X, Y, Xs, p_in(cons(Z, Xs)))
U3(X, Y, Xs, p_out(cons(Z, Xs))) → p_out(cons(s(s(X)), cons(Y, Xs)))
U4(Xs, p_out(Xs)) → p_out(cons(0, Xs))
↳ Prolog
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
P_IN(cons(0, Xs)) → U41(Xs, p_in(Xs))
P_IN(cons(0, Xs)) → P_IN(Xs)
P_IN(cons(s(s(X)), cons(Y, Xs))) → U11(X, Y, Xs, p_in(cons(X, cons(Y, Xs))))
P_IN(cons(s(s(X)), cons(Y, Xs))) → P_IN(cons(X, cons(Y, Xs)))
U11(X, Y, Xs, p_out(cons(X, cons(Y, Xs)))) → U21(X, Y, Xs, mult_in(X, Y, Z))
U11(X, Y, Xs, p_out(cons(X, cons(Y, Xs)))) → MULT_IN(X, Y, Z)
MULT_IN(X, s(Y), Z) → U61(X, Y, Z, mult_in(X, Y, W))
MULT_IN(X, s(Y), Z) → MULT_IN(X, Y, W)
U61(X, Y, Z, mult_out(X, Y, W)) → U71(X, Y, Z, sum_in(W, X, Z))
U61(X, Y, Z, mult_out(X, Y, W)) → SUM_IN(W, X, Z)
SUM_IN(X, s(Y), s(Z)) → U51(X, Y, Z, sum_in(X, Y, Z))
SUM_IN(X, s(Y), s(Z)) → SUM_IN(X, Y, Z)
U21(X, Y, Xs, mult_out(X, Y, Z)) → U31(X, Y, Xs, p_in(cons(Z, Xs)))
U21(X, Y, Xs, mult_out(X, Y, Z)) → P_IN(cons(Z, Xs))
p_in(cons(0, Xs)) → U4(Xs, p_in(Xs))
p_in(cons(s(s(X)), cons(Y, Xs))) → U1(X, Y, Xs, p_in(cons(X, cons(Y, Xs))))
p_in(cons(X, nil)) → p_out(cons(X, nil))
U1(X, Y, Xs, p_out(cons(X, cons(Y, Xs)))) → U2(X, Y, Xs, mult_in(X, Y, Z))
mult_in(X, s(Y), Z) → U6(X, Y, Z, mult_in(X, Y, W))
mult_in(X, 0, 0) → mult_out(X, 0, 0)
U6(X, Y, Z, mult_out(X, Y, W)) → U7(X, Y, Z, sum_in(W, X, Z))
sum_in(X, s(Y), s(Z)) → U5(X, Y, Z, sum_in(X, Y, Z))
sum_in(X, 0, X) → sum_out(X, 0, X)
U5(X, Y, Z, sum_out(X, Y, Z)) → sum_out(X, s(Y), s(Z))
U7(X, Y, Z, sum_out(W, X, Z)) → mult_out(X, s(Y), Z)
U2(X, Y, Xs, mult_out(X, Y, Z)) → U3(X, Y, Xs, p_in(cons(Z, Xs)))
U3(X, Y, Xs, p_out(cons(Z, Xs))) → p_out(cons(s(s(X)), cons(Y, Xs)))
U4(Xs, p_out(Xs)) → p_out(cons(0, Xs))
↳ Prolog
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDP
SUM_IN(X, s(Y), s(Z)) → SUM_IN(X, Y, Z)
p_in(cons(0, Xs)) → U4(Xs, p_in(Xs))
p_in(cons(s(s(X)), cons(Y, Xs))) → U1(X, Y, Xs, p_in(cons(X, cons(Y, Xs))))
p_in(cons(X, nil)) → p_out(cons(X, nil))
U1(X, Y, Xs, p_out(cons(X, cons(Y, Xs)))) → U2(X, Y, Xs, mult_in(X, Y, Z))
mult_in(X, s(Y), Z) → U6(X, Y, Z, mult_in(X, Y, W))
mult_in(X, 0, 0) → mult_out(X, 0, 0)
U6(X, Y, Z, mult_out(X, Y, W)) → U7(X, Y, Z, sum_in(W, X, Z))
sum_in(X, s(Y), s(Z)) → U5(X, Y, Z, sum_in(X, Y, Z))
sum_in(X, 0, X) → sum_out(X, 0, X)
U5(X, Y, Z, sum_out(X, Y, Z)) → sum_out(X, s(Y), s(Z))
U7(X, Y, Z, sum_out(W, X, Z)) → mult_out(X, s(Y), Z)
U2(X, Y, Xs, mult_out(X, Y, Z)) → U3(X, Y, Xs, p_in(cons(Z, Xs)))
U3(X, Y, Xs, p_out(cons(Z, Xs))) → p_out(cons(s(s(X)), cons(Y, Xs)))
U4(Xs, p_out(Xs)) → p_out(cons(0, Xs))
↳ Prolog
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ PiDP
↳ PiDP
SUM_IN(X, s(Y), s(Z)) → SUM_IN(X, Y, Z)
↳ Prolog
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ QDP
↳ QDPSizeChangeProof
↳ PiDP
↳ PiDP
SUM_IN(X, s(Y)) → SUM_IN(X, Y)
From the DPs we obtained the following set of size-change graphs:
↳ Prolog
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ UsableRulesProof
↳ PiDP
MULT_IN(X, s(Y), Z) → MULT_IN(X, Y, W)
p_in(cons(0, Xs)) → U4(Xs, p_in(Xs))
p_in(cons(s(s(X)), cons(Y, Xs))) → U1(X, Y, Xs, p_in(cons(X, cons(Y, Xs))))
p_in(cons(X, nil)) → p_out(cons(X, nil))
U1(X, Y, Xs, p_out(cons(X, cons(Y, Xs)))) → U2(X, Y, Xs, mult_in(X, Y, Z))
mult_in(X, s(Y), Z) → U6(X, Y, Z, mult_in(X, Y, W))
mult_in(X, 0, 0) → mult_out(X, 0, 0)
U6(X, Y, Z, mult_out(X, Y, W)) → U7(X, Y, Z, sum_in(W, X, Z))
sum_in(X, s(Y), s(Z)) → U5(X, Y, Z, sum_in(X, Y, Z))
sum_in(X, 0, X) → sum_out(X, 0, X)
U5(X, Y, Z, sum_out(X, Y, Z)) → sum_out(X, s(Y), s(Z))
U7(X, Y, Z, sum_out(W, X, Z)) → mult_out(X, s(Y), Z)
U2(X, Y, Xs, mult_out(X, Y, Z)) → U3(X, Y, Xs, p_in(cons(Z, Xs)))
U3(X, Y, Xs, p_out(cons(Z, Xs))) → p_out(cons(s(s(X)), cons(Y, Xs)))
U4(Xs, p_out(Xs)) → p_out(cons(0, Xs))
↳ Prolog
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ PiDP
MULT_IN(X, s(Y), Z) → MULT_IN(X, Y, W)
↳ Prolog
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ QDP
↳ QDPSizeChangeProof
↳ PiDP
MULT_IN(X, s(Y)) → MULT_IN(X, Y)
From the DPs we obtained the following set of size-change graphs:
↳ Prolog
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ PiDP
↳ PiDPToQDPProof
P_IN(cons(0, Xs)) → P_IN(Xs)
P_IN(cons(s(s(X)), cons(Y, Xs))) → U11(X, Y, Xs, p_in(cons(X, cons(Y, Xs))))
U21(X, Y, Xs, mult_out(X, Y, Z)) → P_IN(cons(Z, Xs))
U11(X, Y, Xs, p_out(cons(X, cons(Y, Xs)))) → U21(X, Y, Xs, mult_in(X, Y, Z))
P_IN(cons(s(s(X)), cons(Y, Xs))) → P_IN(cons(X, cons(Y, Xs)))
p_in(cons(0, Xs)) → U4(Xs, p_in(Xs))
p_in(cons(s(s(X)), cons(Y, Xs))) → U1(X, Y, Xs, p_in(cons(X, cons(Y, Xs))))
p_in(cons(X, nil)) → p_out(cons(X, nil))
U1(X, Y, Xs, p_out(cons(X, cons(Y, Xs)))) → U2(X, Y, Xs, mult_in(X, Y, Z))
mult_in(X, s(Y), Z) → U6(X, Y, Z, mult_in(X, Y, W))
mult_in(X, 0, 0) → mult_out(X, 0, 0)
U6(X, Y, Z, mult_out(X, Y, W)) → U7(X, Y, Z, sum_in(W, X, Z))
sum_in(X, s(Y), s(Z)) → U5(X, Y, Z, sum_in(X, Y, Z))
sum_in(X, 0, X) → sum_out(X, 0, X)
U5(X, Y, Z, sum_out(X, Y, Z)) → sum_out(X, s(Y), s(Z))
U7(X, Y, Z, sum_out(W, X, Z)) → mult_out(X, s(Y), Z)
U2(X, Y, Xs, mult_out(X, Y, Z)) → U3(X, Y, Xs, p_in(cons(Z, Xs)))
U3(X, Y, Xs, p_out(cons(Z, Xs))) → p_out(cons(s(s(X)), cons(Y, Xs)))
U4(Xs, p_out(Xs)) → p_out(cons(0, Xs))
↳ Prolog
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ PiDP
↳ PiDPToQDPProof
↳ QDP
↳ QDPOrderProof
P_IN(cons(0, Xs)) → P_IN(Xs)
P_IN(cons(s(s(X)), cons(Y, Xs))) → U11(X, Y, Xs, p_in(cons(X, cons(Y, Xs))))
P_IN(cons(s(s(X)), cons(Y, Xs))) → P_IN(cons(X, cons(Y, Xs)))
U11(X, Y, Xs, p_out) → U21(Xs, mult_in(X, Y))
U21(Xs, mult_out(Z)) → P_IN(cons(Z, Xs))
p_in(cons(0, Xs)) → U4(p_in(Xs))
p_in(cons(s(s(X)), cons(Y, Xs))) → U1(X, Y, Xs, p_in(cons(X, cons(Y, Xs))))
p_in(cons(X, nil)) → p_out
U1(X, Y, Xs, p_out) → U2(Xs, mult_in(X, Y))
mult_in(X, s(Y)) → U6(X, mult_in(X, Y))
mult_in(X, 0) → mult_out(0)
U6(X, mult_out(W)) → U7(sum_in(W, X))
sum_in(X, s(Y)) → U5(sum_in(X, Y))
sum_in(X, 0) → sum_out(X)
U5(sum_out(Z)) → sum_out(s(Z))
U7(sum_out(Z)) → mult_out(Z)
U2(Xs, mult_out(Z)) → U3(p_in(cons(Z, Xs)))
U3(p_out) → p_out
U4(p_out) → p_out
p_in(x0)
U1(x0, x1, x2, x3)
mult_in(x0, x1)
U6(x0, x1)
sum_in(x0, x1)
U5(x0)
U7(x0)
U2(x0, x1)
U3(x0)
U4(x0)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
P_IN(cons(0, Xs)) → P_IN(Xs)
P_IN(cons(s(s(X)), cons(Y, Xs))) → U11(X, Y, Xs, p_in(cons(X, cons(Y, Xs))))
U11(X, Y, Xs, p_out) → U21(Xs, mult_in(X, Y))
Used ordering: Combined order from the following AFS and order.
P_IN(cons(s(s(X)), cons(Y, Xs))) → P_IN(cons(X, cons(Y, Xs)))
U21(Xs, mult_out(Z)) → P_IN(cons(Z, Xs))
[cons1, U1^12, pin, pout, U2^11, multin, multout, U7, U3] > sumin1 > 0
[s, sumout1] > sumin1 > 0
nil > 0
U3: multiset
multin: multiset
U1^12: multiset
0: multiset
s: multiset
nil: multiset
U2^11: multiset
U7: multiset
sumin1: multiset
pin: multiset
cons1: multiset
multout: multiset
pout: multiset
sumout1: [1]
p_in(cons(X, nil)) → p_out
U7(sum_out(Z)) → mult_out(Z)
U6(X, mult_out(W)) → U7(sum_in(W, X))
p_in(cons(s(s(X)), cons(Y, Xs))) → U1(X, Y, Xs, p_in(cons(X, cons(Y, Xs))))
U2(Xs, mult_out(Z)) → U3(p_in(cons(Z, Xs)))
p_in(cons(0, Xs)) → U4(p_in(Xs))
mult_in(X, s(Y)) → U6(X, mult_in(X, Y))
mult_in(X, 0) → mult_out(0)
U3(p_out) → p_out
U1(X, Y, Xs, p_out) → U2(Xs, mult_in(X, Y))
U4(p_out) → p_out
↳ Prolog
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ PiDP
↳ PiDPToQDPProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ DependencyGraphProof
P_IN(cons(s(s(X)), cons(Y, Xs))) → P_IN(cons(X, cons(Y, Xs)))
U21(Xs, mult_out(Z)) → P_IN(cons(Z, Xs))
p_in(cons(0, Xs)) → U4(p_in(Xs))
p_in(cons(s(s(X)), cons(Y, Xs))) → U1(X, Y, Xs, p_in(cons(X, cons(Y, Xs))))
p_in(cons(X, nil)) → p_out
U1(X, Y, Xs, p_out) → U2(Xs, mult_in(X, Y))
mult_in(X, s(Y)) → U6(X, mult_in(X, Y))
mult_in(X, 0) → mult_out(0)
U6(X, mult_out(W)) → U7(sum_in(W, X))
sum_in(X, s(Y)) → U5(sum_in(X, Y))
sum_in(X, 0) → sum_out(X)
U5(sum_out(Z)) → sum_out(s(Z))
U7(sum_out(Z)) → mult_out(Z)
U2(Xs, mult_out(Z)) → U3(p_in(cons(Z, Xs)))
U3(p_out) → p_out
U4(p_out) → p_out
p_in(x0)
U1(x0, x1, x2, x3)
mult_in(x0, x1)
U6(x0, x1)
sum_in(x0, x1)
U5(x0)
U7(x0)
U2(x0, x1)
U3(x0)
U4(x0)
↳ Prolog
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ PiDP
↳ PiDPToQDPProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
P_IN(cons(s(s(X)), cons(Y, Xs))) → P_IN(cons(X, cons(Y, Xs)))
p_in(cons(0, Xs)) → U4(p_in(Xs))
p_in(cons(s(s(X)), cons(Y, Xs))) → U1(X, Y, Xs, p_in(cons(X, cons(Y, Xs))))
p_in(cons(X, nil)) → p_out
U1(X, Y, Xs, p_out) → U2(Xs, mult_in(X, Y))
mult_in(X, s(Y)) → U6(X, mult_in(X, Y))
mult_in(X, 0) → mult_out(0)
U6(X, mult_out(W)) → U7(sum_in(W, X))
sum_in(X, s(Y)) → U5(sum_in(X, Y))
sum_in(X, 0) → sum_out(X)
U5(sum_out(Z)) → sum_out(s(Z))
U7(sum_out(Z)) → mult_out(Z)
U2(Xs, mult_out(Z)) → U3(p_in(cons(Z, Xs)))
U3(p_out) → p_out
U4(p_out) → p_out
p_in(x0)
U1(x0, x1, x2, x3)
mult_in(x0, x1)
U6(x0, x1)
sum_in(x0, x1)
U5(x0)
U7(x0)
U2(x0, x1)
U3(x0)
U4(x0)
↳ Prolog
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ PiDP
↳ PiDPToQDPProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
P_IN(cons(s(s(X)), cons(Y, Xs))) → P_IN(cons(X, cons(Y, Xs)))
p_in(x0)
U1(x0, x1, x2, x3)
mult_in(x0, x1)
U6(x0, x1)
sum_in(x0, x1)
U5(x0)
U7(x0)
U2(x0, x1)
U3(x0)
U4(x0)
p_in(x0)
U1(x0, x1, x2, x3)
mult_in(x0, x1)
U6(x0, x1)
sum_in(x0, x1)
U5(x0)
U7(x0)
U2(x0, x1)
U3(x0)
U4(x0)
↳ Prolog
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ PiDP
↳ PiDPToQDPProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ UsableRulesReductionPairsProof
P_IN(cons(s(s(X)), cons(Y, Xs))) → P_IN(cons(X, cons(Y, Xs)))
No rules are removed from R.
P_IN(cons(s(s(X)), cons(Y, Xs))) → P_IN(cons(X, cons(Y, Xs)))
POL(P_IN(x1)) = 2·x1
POL(cons(x1, x2)) = 2·x1 + x2
POL(s(x1)) = 2·x1
↳ Prolog
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ PiDP
↳ PiDPToQDPProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ UsableRulesReductionPairsProof
↳ QDP
↳ PisEmptyProof